import { request } from "../../request/index.js";
// import regeneratorRuntime from '../../lib/runtime.js';

Page({
  data: {
    orders: [1, 2],
    tabs: [
      {
        id: 0,
        value: "全部",
        isActive: true
      },
      {
        id: 1,
        value: "待付款",
        isActive: false
      },
      {
        id: 2,
        value: "待收货",
        isActive: false
      },
      {
        id: 2,
        value: "退款/退货",
        isActive: false
      }
    ],
  },

  onShow(options) {
    //账号不是企业微信，得到的token为null，故该页面无法正常运行（但代码逻辑都写好了）
    // const token = wx.getStorageSync("token");
    // if (!token) {
    //   wx.navigateTo({
    //     url: '/pages/auth/index'
    //   });
    //   return;
    // }

    //1.获取当前的小程序的页面栈-数组，最大长度是10页面（回退页面最多10页）
    let pages = getCurrentPages();
    //2.数组中，索引最大的页面就是当前页面
    let currentPage = pages[pages.length - 1];
    // console.log(currentPage.options);
    //3.获取url上的type参数
    const { type } = currentPage.options;
    //4.激活选中页面标题index=type-1
    this.changeTitleByIndex(type - 1);
    this.getOrder(type);
  },

  //获取列表订单的方法
  async getOrder(type) {
    const res = await request({ url: "/my/orders/all", data: { type } });
    //下面这里是对时间进行换算处理，再显示
    this.setData({
      orders: res.orders.map(v => ({ ...v, create_time_cn: (new Date(v.create_time * 1000).toLocalString()) }))
    })
  },

  //根据标题索引来激活选择 标题数组
  changeTitleByIndex(index) {
    //2.修改原数组
    let { tabs } = this.data
    tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
    //3.赋值到data中
    this.setData({
      tabs
    })
  },

  //标题点击事件,从子组件传递过来
  handleTabsItemChange(e) {
    console.log(e);
    //1.获取被点击的标题索引
    const { index } = e.detail;
    this.changeTitleByIndex(index);
    //2.重新发送请求index+1=type
    this.getOrder(index + 1);
  },
})